#pragma once


#include "fxcc/core/platform/glfw/pch.h"

namespace fxcc
{
	namespace platform
	{
		namespace glfw
		{
			struct FXCC_API GlfwTimer
			{
				double m_StartTime;
				double m_TotalTime;

				double m_CurrentTime;
				double m_LastTime;
				double m_DeltaTime;

				GlfwTimer() :
					m_StartTime(0),
					m_TotalTime(0),
					m_CurrentTime(0),
					m_LastTime(0),
					m_DeltaTime(0)
				{

				}

				void Start()
				{
					m_StartTime = glfwGetTime();

				}
				void Tick()
				{
					m_TotalTime = glfwGetTime();
					m_CurrentTime = m_TotalTime - m_StartTime;
					m_DeltaTime = m_CurrentTime - m_LastTime;
					m_LastTime = m_CurrentTime;
				}
				float DeltaTime() const
				{
					return m_DeltaTime;
				}
				float CurrentTime() const
				{
					return m_CurrentTime;

				}
			};
		}
	}
};
